Referring now to FIG. 1, an exemplary control system 10 includes an input signal X (i.e. a target response of the control system 10), an output response signal Y, and an error signal E. A control module 12 controls the output response signal Y based on the error signal E. The error signal E is a difference between the input signal X and the output response signal Y. In other words, the control module 12 attempts to control the output response signal Y to “follow” the input signal X. The control system 10 can be described as:Y=E*H; andE=X−Y, where H represents a transfer function of the control system 10. Each of the values X, Y, and E is a vector that includes values that occur over time.
Referring now to FIG. 2, a control system 20 typically receives a disturbance N (e.g. noise). For example, the disturbance N may be introduced into the control system 20 due to performance, manufacturing, and/or environment imperfections. The disturbance signal N is added to the input signal X to model the effects of the disturbance N on the control system 20. The result is a final observable response signal Y. The control system 20 can be described as:Y=E*H andE=(X+N)−Y. 
The disturbance signal N may include a random component (e.g. random noise) and/or a repeatable component (e.g. a recurring disturbance due to a constant system imperfection). A repeatable component in the disturbance signal N is referred to as “repeatable run-out” (RRO). For example, a hard disk drive (HDD) is a magnetic data storage medium that includes a rotating disk. A read/write head reads data from the disk and/or writes data to the disk as the disk rotates. When the disk rotates at high speeds, imperfections in the HDD and/or the disk may cause errors in position detection and control of the read/write heads.
Referring now to FIG. 3, in a HDD, positioning a read/write head over a disk medium is accomplished by having a servo loop lock to a predetermined servo wedge. A servo wedge 21 is a data string that contains several data fields, including a preamble field 22, a servo sync-mark (SSM) 24 field, a track/sector identification (ID) field 26, and a plurality of position error signal (PES) fields 28, 29. A burst gate pulse indicates the beginning of a servo wedge or a portion of a servo wedge.
An acquisition preamble is typically recorded in the preamble field 22. This enables a read channel within the HDD to acquire the appropriate timing and amplitude information from the read signal before reading the servo information. The preamble field 22 is also used to lock a servo timing loop clock phase and frequency to a servo wedge and synchronize the servo information stored in the servo track/sector ID field 26.
SSM 24 is used to mark the ending point of the preamble field 22 and the starting point of the track/sector ID 26 and used as a reference point for the position of other data payloads throughout servo fields.
The track/sector ID field 26 indicates both the circumferential position and the coarse radial position of a head. The track/sector ID field 26 typically includes a servo track number, which identifies the current track the head is over while the head is seeking to a selected track. The track/sector ID field 26 also includes sector identification data used to identify the data sectors of the tracks.
HDDs typically encode the track number using what is known as a Gray code. A Gray code provides a sequence of binary numbers in which only one digit changes state from one code value to the next. A Gray code for track number identification is implemented with each code bit requiring two flux transitions. Using two flux transitions, such as dibits, to encode a bit preserves the magnetization sequence of the signals from the respective binary digits between tracks.
A dibit is a pair of sequential bits, the first bit being of a first polarity, the subsequent bit being of an opposite polarity. For example, if the first bit is negative, the dibit has a positive bit immediately following. Alternatively, if the first bit is positive, the dibit has a negative bit immediately following. DiBit is one encoding method used to encode user data bits stored in the track/sector ID field 26 for subsequent decoding of the data it represents.
The position information contained in a servo field is used to determine the fine position of the head on the disk surface and to provide the HDD control module an instantaneous position error signal (PES). The PES 28, 29 provide information concerning fine radial positioning of the head. Typically, a PES is the difference between the measured position computed from the servo pattern and the desired position of the head. A fine position of the head on the disk surface may be generated by the servo system by comparing the relative signal strengths of various PES fields on the disc surface.
Conventionally, the RRO information is stored on the disk itself. One efficient storage method is to embed the RRO values 30, 31 within the servo wedge 21. Normally, preamble, SSM, track/sector ID, and PES fields are written at the same time. Hence, the phases of these fields are generally coherent. However, an RRO field is written at a different time due to various requirements of calibration techniques used in HDD manufacturing processes. Unavoidable circuit latency and the physical structure of disk drive read/write head causes written RRO fields to have a certain amount of phase offset as compared to servo preamble, SSM, and PES fields. Degradation in RRO detection may therefore occur because many data detectors are sensitive to phase offset. An RRO field may include three sub-fields in following sequence: RRO preamble, RRO sync mark, and RRO data. RRO phase may be the position of the RRO field as it deviates from an ideal position (i.e. a position without phase offset compared to the other wedge fields).
Further, asynchronous RRO writes often require redundant preambles and sync marks in response to incoming servo waveforms becoming asynchronous. This is generally because new preamble and sync marks are used to match-up timing information from asynchronous waveforms and to detect actual position of waveform data.